import { INode } from "./ILinedList";
import { LinedList } from "./LinedList";

const LinedList1 = new LinedList<number>();
LinedList1.append(1);
LinedList1.append(2);
LinedList1.append(3);
LinedList1.append(4);

const node: INode<number> = LinedList1.get(1)!;
function record(node: INode<number>) {
  // 正常做法的话，会发现没办法删除，但是可以活用next指向
  node.data = node.next?.data!; // 保存next的值
  node.next = node.next?.next!; // 跳过第一个next指向再下一个next，链表则不再存在第一个next的节点
}

console.log("...............");

console.log(LinedList1.traverse());
record(node); // 传入第二个节点，能删除第二个节点
console.log(LinedList1.traverse());
